SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[spCrearTablaFacticaServicios] AS

DECLARE @Fechaactual as datetime
--declare @dias as int
SET NOCOUNT ON
SET DATEFORMAT dmy
DECLARE @Agente INT
DECLARE @Situacionrevista INT
DECLARE @Tipodeservicio INT
DECLARE @Fechaalta DATETIME
DECLARE @Fechabaja DATETIME
DECLARE @Plaza INT
DECLARE @Situacionlaboral INT
DECLARE @Situacionextraordinaria INT
DECLARE @Nivel INT
DECLARE @Modalidad INT
DECLARE @Zona INT
DECLARE @Licencia INT
DECLARE @Codenfermedad INT
DECLARE @Organizacion INT
DECLARE @Funcion INT
DECLARE @Asignatura INT
DECLARE @Division INT
DECLARE @Turno INT
DECLARE @PlazaHoras INT
DECLARE @PlazaBaja VARCHAR
DECLARE @RegimenLaboral INT
DECLARE @Financiamiento INT
DECLARE @Presupuesto INT
DECLARE @TipodeFuncion INT
DECLARE @RegimenSalarial INT
DECLARE @RegimenSuplencias INT
DECLARE @RegimenDesigna INT
DECLARE @CargoSalarialDefault INT
DECLARE @PorcentajeSubsidio FLOAT

--DECLARE @EsCabeceradePaquetel VARCHAR
--DECLARE @Finalidad INT
--DECLARE @Paquete INT
--DECLARE @TipodePaquete INT





DECLARE c cursor FORWARD_ONLY FOR
SELECT  S.Agente,S.SituacionRevista,S.TipodeServicio,
SS.FechaAlta, SS.FechaBaja,SS.Plaza,SS.SituacionLaboral,SS.SituacionExtraordinaria,
SS.Nivel, SS.Modalidad, SS.Zona,SS.licencia,SS.CodEnfermedad,
P.Organizacion, P.Funcion, P.Asignatura, P.Division, P.Turno, P.Horas, 
P.Baja, P.RegimenLaboral, P.Financiamiento, P.Presupuesto, 
P.TipoDeFuncion, P.RegimenSalarial, P.RegimenSuplencias,
P.RegimenDesigna, P.CargoSalarialDefault, P.PorcentajeSubsidio
FROM tb_serviciosagentes S
INNER JOIN Tb_SubServiciosAgentes SS on S.Idservicioagente=SS.Servicioagente 
INNER JOIN Tb_Plazas P ON SS.Plaza= P.Idplaza  
WHERE p.organizacion=1762
ORDER BY SS.fechaalta



open c
fetch next from c into   @Agente ,
 @Situacionrevista ,
 @Tipodeservicio ,
 @Fechaalta ,
 @Fechabaja ,
 @Plaza ,
 @Situacionlaboral ,
 @Situacionextraordinaria ,
 @Nivel ,
 @Modalidad ,
 @Zona ,
 @Licencia ,
 @Codenfermedad ,
 @Organizacion ,
 @Funcion ,
 @Asignatura ,
 @Division ,
 @Turno ,
 @PlazaHoras ,
 @PlazaBaja ,
 @RegimenLaboral ,
 @Financiamiento ,
 @Presupuesto ,
 @TipodeFuncion ,
 @RegimenSalarial ,
 @RegimenSuplencias ,
 @RegimenDesigna ,
 @CargoSalarialDefault ,
 @PorcentajeSubsidio



while @@FETCH_STATUS = 0
begin
		set @fechaactual=@fechaalta
		while @fechaActual < @fechabaja
		begin
			INSERT INTO [tb_FServicios]([Agente], [Fecha], [Plaza], [Organizacion], [SituacionRevista], [SituacionLaboral], [SituacionExtraordinaria], [Licencia], [TipoDeServicio])
                                                VALUES(  @agente,@fechaactual, @plaza, @organizacion,  @situacionrevista, @situacionlaboral, @situacionextraordinaria, @licencia, @tipodeservicio)
			set @fechaactual = dateadd (day,1,@fechaactual)
			
		end
		fetch next from c into @Agente ,
 @Situacionrevista ,
 @Tipodeservicio ,
 @Fechaalta ,
 @Fechabaja ,
 @Plaza ,
 @Situacionlaboral ,
 @Situacionextraordinaria ,
 @Nivel ,
 @Modalidad ,
 @Zona ,
 @Licencia ,
 @Codenfermedad ,
 @Organizacion ,
 @Funcion ,
 @Asignatura ,
 @Division ,
 @Turno ,
 @PlazaHoras ,
 @PlazaBaja ,
 @RegimenLaboral ,
 @Financiamiento ,
 @Presupuesto ,
 @TipodeFuncion ,
 @RegimenSalarial ,
 @RegimenSuplencias ,
 @RegimenDesigna ,
 @CargoSalarialDefault ,
 @PorcentajeSubsidio

end

close c
deallocate c
GO
